feat: support self-signed certificates for remote taskfiles #2537
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add support for custom TLS certificates when fetching remote Taskfiles over HTTPS. This enables usage in corporate environments with internal CA certificates and mTLS (mutual TLS) authentication.
New CLI flags:
New config options:
Design Decision: Functional Options Pattern
TLS configuration uses functional options (WithCACert(), WithCert(), etc.) rather than direct function parameters. This choice preserves API ergonomics for consumers of the taskfile package:
The TLS options are defined on baseNode (shared by all node types) rather than being HTTP-specific. While only HTTPNode uses these fields today, this design:
Why no --cert-key-pass?
Encrypted private keys are not supported in this PR. Reasons:
openssl rsa -in encrypted.key -out decrypted.keyThis can be added later if there's demand.